package com.demo;

/**
 * @author zenglei
 * @Description 功能描述    抽象建造者：包含创建产品各个子部件的抽象方法
 *
 * 建造者（Builder）模式的定义：指将一个复杂对象的构造与它的表示分离，
 * 使同样的构建过程可以创建不同的表示，这样的设计模式被称为建造者模式。
 * 它是将一个复杂的对象分解为多个简单的对象，然后一步一步构建而成。
 * 它将变与不变相分离，即产品的组成部分是不变的，但每一部分是可以灵活选择的。
 * @date 2020/08/25 14:04
 */
public abstract class Builder {

    // 创建产品对象
    protected Product product = new Product();

    public abstract void buildPartA();

    public abstract void buildPartB();

    public abstract void buildPartC();

    //返回产品对象
    public Product getResult() {
        return product;
    }

}
